<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MTB CAT1 Peripheral driver library: Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen_style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><a href="http://www.cypress.com/"><img alt="Logo" src="IFXCYP_one-line.png"/></a></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">MTB CAT1 Peripheral driver library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__group__efuse__functions.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Functions<div class="ingroups"><a class="el" href="group__group__efuse.html">eFuse        (Electronic Fuses)</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">General Description</h2>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga2dc80ca522388529fe573f5c46694f2f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__efuse__functions.html#ga2dc80ca522388529fe573f5c46694f2f">Cy_EFUSE_GetEfuseBit</a> (uint32_t bitNum, bool *bitVal)</td></tr>
<tr class="memdesc:ga2dc80ca522388529fe573f5c46694f2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reports the current state of a given eFuse bit-number.  <a href="#ga2dc80ca522388529fe573f5c46694f2f">More...</a><br /></td></tr>
<tr class="separator:ga2dc80ca522388529fe573f5c46694f2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga975d7896953da9ad0c2543f481cbfcc6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__efuse__functions.html#ga975d7896953da9ad0c2543f481cbfcc6">Cy_EFUSE_GetEfuseByte</a> (uint32_t offset, uint8_t *byteVal)</td></tr>
<tr class="memdesc:ga975d7896953da9ad0c2543f481cbfcc6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reports the current state of the eFuse byte.  <a href="#ga975d7896953da9ad0c2543f481cbfcc6">More...</a><br /></td></tr>
<tr class="separator:ga975d7896953da9ad0c2543f481cbfcc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga19b1ee83f64f5405681b37266941c3e5"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__efuse__functions.html#ga19b1ee83f64f5405681b37266941c3e5">Cy_EFUSE_GetExternalStatus</a> (void)</td></tr>
<tr class="memdesc:ga19b1ee83f64f5405681b37266941c3e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function handles the case where a module such as a security image captures a system call from this driver and reports its own status or error code, for example, protection violation.  <a href="#ga19b1ee83f64f5405681b37266941c3e5">More...</a><br /></td></tr>
<tr class="separator:ga19b1ee83f64f5405681b37266941c3e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga06a4ae2e9113c195ff77f1dc820b25e7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__efuse__functions.html#ga06a4ae2e9113c195ff77f1dc820b25e7">Cy_EFUSE_Init</a> (EFUSE_Type *base)</td></tr>
<tr class="memdesc:ga06a4ae2e9113c195ff77f1dc820b25e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function enables the EFUSE block and initializes the registers with the default values.  <a href="#ga06a4ae2e9113c195ff77f1dc820b25e7">More...</a><br /></td></tr>
<tr class="separator:ga06a4ae2e9113c195ff77f1dc820b25e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4c007af8fdfc8f7179abad616e88cae2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__efuse__functions.html#ga4c007af8fdfc8f7179abad616e88cae2">Cy_EFUSE_Enable</a> (EFUSE_Type *base)</td></tr>
<tr class="memdesc:ga4c007af8fdfc8f7179abad616e88cae2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables the EFUSE block.  <a href="#ga4c007af8fdfc8f7179abad616e88cae2">More...</a><br /></td></tr>
<tr class="separator:ga4c007af8fdfc8f7179abad616e88cae2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0aa04dbc5db609a8cc641c45c3cd79e7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__efuse__functions.html#ga0aa04dbc5db609a8cc641c45c3cd79e7">Cy_EFUSE_Disable</a> (EFUSE_Type *base)</td></tr>
<tr class="memdesc:ga0aa04dbc5db609a8cc641c45c3cd79e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables the EFUSE block.  <a href="#ga0aa04dbc5db609a8cc641c45c3cd79e7">More...</a><br /></td></tr>
<tr class="separator:ga0aa04dbc5db609a8cc641c45c3cd79e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5dae8f5e5f2a463363c4dfcc5af57b28"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__efuse__functions.html#ga5dae8f5e5f2a463363c4dfcc5af57b28">Cy_EFUSE_IsEnabled</a> (EFUSE_Type *base)</td></tr>
<tr class="memdesc:ga5dae8f5e5f2a463363c4dfcc5af57b28"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if EFUSE block is Enabled or Not.  <a href="#ga5dae8f5e5f2a463363c4dfcc5af57b28">More...</a><br /></td></tr>
<tr class="separator:ga5dae8f5e5f2a463363c4dfcc5af57b28"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga28ecc1dcdb968e053a958cca635e9461"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__efuse__functions.html#ga28ecc1dcdb968e053a958cca635e9461">Cy_EFUSE_DeInit</a> (EFUSE_Type *base)</td></tr>
<tr class="memdesc:ga28ecc1dcdb968e053a958cca635e9461"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables the EFUSE block.  <a href="#ga28ecc1dcdb968e053a958cca635e9461">More...</a><br /></td></tr>
<tr class="separator:ga28ecc1dcdb968e053a958cca635e9461"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0dd2f9a26afa1c75420318c09a7f53fb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__efuse__functions.html#ga0dd2f9a26afa1c75420318c09a7f53fb">Cy_EFUSE_WriteBit</a> (EFUSE_Type *base, uint32_t bitPos, uint32_t offset)</td></tr>
<tr class="memdesc:ga0dd2f9a26afa1c75420318c09a7f53fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes a bit to EFUSE by blowing a fuse, so this function is able to write 1s only.  <a href="#ga0dd2f9a26afa1c75420318c09a7f53fb">More...</a><br /></td></tr>
<tr class="separator:ga0dd2f9a26afa1c75420318c09a7f53fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga52ffd7cf26fba5e7786187b8627665b9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__efuse__functions.html#ga52ffd7cf26fba5e7786187b8627665b9">Cy_EFUSE_WriteByte</a> (EFUSE_Type *base, uint32_t src, uint32_t offset)</td></tr>
<tr class="memdesc:ga52ffd7cf26fba5e7786187b8627665b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes one byte.  <a href="#ga52ffd7cf26fba5e7786187b8627665b9">More...</a><br /></td></tr>
<tr class="separator:ga52ffd7cf26fba5e7786187b8627665b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga15f9240bfa808040e6104c864c57e2c7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__efuse__functions.html#ga15f9240bfa808040e6104c864c57e2c7">Cy_EFUSE_WriteWord</a> (EFUSE_Type *base, uint32_t src, uint32_t offset)</td></tr>
<tr class="memdesc:ga15f9240bfa808040e6104c864c57e2c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes every bit set in src that was not already programmed.  <a href="#ga15f9240bfa808040e6104c864c57e2c7">More...</a><br /></td></tr>
<tr class="separator:ga15f9240bfa808040e6104c864c57e2c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8d99433f456f0504334af8ab56e3cc91"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__efuse__functions.html#ga8d99433f456f0504334af8ab56e3cc91">Cy_EFUSE_WriteWordArray</a> (EFUSE_Type *base, const uint32_t *src, uint32_t offset, uint32_t num)</td></tr>
<tr class="memdesc:ga8d99433f456f0504334af8ab56e3cc91"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes the values of num 32-bit words from the location pointed to by src to the EFUSE location pointed to by offset.  <a href="#ga8d99433f456f0504334af8ab56e3cc91">More...</a><br /></td></tr>
<tr class="separator:ga8d99433f456f0504334af8ab56e3cc91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4574fafa0f4533914834b12546575690"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__efuse__functions.html#ga4574fafa0f4533914834b12546575690">Cy_EFUSE_ReadBit</a> (EFUSE_Type *base, uint8_t *dst, uint32_t bitPos, uint32_t offset)</td></tr>
<tr class="memdesc:ga4574fafa0f4533914834b12546575690"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads a bit from EFUSE.  <a href="#ga4574fafa0f4533914834b12546575690">More...</a><br /></td></tr>
<tr class="separator:ga4574fafa0f4533914834b12546575690"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6484736ef7054535e2b22dab58a9d704"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__efuse__functions.html#ga6484736ef7054535e2b22dab58a9d704">Cy_EFUSE_ReadByte</a> (EFUSE_Type *base, uint8_t *dst, uint32_t offset)</td></tr>
<tr class="memdesc:ga6484736ef7054535e2b22dab58a9d704"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads byte from EFUSE.  <a href="#ga6484736ef7054535e2b22dab58a9d704">More...</a><br /></td></tr>
<tr class="separator:ga6484736ef7054535e2b22dab58a9d704"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaebe9c2648cd8b31bdb5721c802b4b4b3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__efuse__functions.html#gaebe9c2648cd8b31bdb5721c802b4b4b3">Cy_EFUSE_ReadWord</a> (EFUSE_Type *base, uint32_t *dst, uint32_t offset)</td></tr>
<tr class="memdesc:gaebe9c2648cd8b31bdb5721c802b4b4b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads a 32-bit word from EFUSE.  <a href="#gaebe9c2648cd8b31bdb5721c802b4b4b3">More...</a><br /></td></tr>
<tr class="separator:gaebe9c2648cd8b31bdb5721c802b4b4b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac5f241d89e5dd02359c5e1f5718b8c96"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__efuse__functions.html#gac5f241d89e5dd02359c5e1f5718b8c96">Cy_EFUSE_ReadWordArray</a> (EFUSE_Type *base, uint32_t *dst, uint32_t offset, uint32_t num)</td></tr>
<tr class="memdesc:gac5f241d89e5dd02359c5e1f5718b8c96"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads an array of 32-bit words from EFUSE.  <a href="#gac5f241d89e5dd02359c5e1f5718b8c96">More...</a><br /></td></tr>
<tr class="separator:gac5f241d89e5dd02359c5e1f5718b8c96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac5cbe37853fb807ac5d273e6c64c245a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__efuse__functions.html#gac5cbe37853fb807ac5d273e6c64c245a">Cy_EFUSE_WriteBootRow</a> (EFUSE_Type *base, uint32_t bootrow)</td></tr>
<tr class="memdesc:gac5cbe37853fb807ac5d273e6c64c245a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes data into BOOTROW.  <a href="#gac5cbe37853fb807ac5d273e6c64c245a">More...</a><br /></td></tr>
<tr class="separator:gac5cbe37853fb807ac5d273e6c64c245a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga02f92f6205a852095d903d1d66e54a23"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__efuse__functions.html#ga02f92f6205a852095d903d1d66e54a23">Cy_EFUSE_ReadBootRow</a> (EFUSE_Type *base, uint32_t *bootrow)</td></tr>
<tr class="memdesc:ga02f92f6205a852095d903d1d66e54a23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads data from BOOTROW.  <a href="#ga02f92f6205a852095d903d1d66e54a23">More...</a><br /></td></tr>
<tr class="separator:ga02f92f6205a852095d903d1d66e54a23"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga2dc80ca522388529fe573f5c46694f2f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2dc80ca522388529fe573f5c46694f2f">&#9670;&nbsp;</a></span>Cy_EFUSE_GetEfuseBit()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a> Cy_EFUSE_GetEfuseBit </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>bitNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool *&#160;</td>
          <td class="paramname"><em>bitVal</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reports the current state of a given eFuse bit-number. </p>
<p>Consult the device TRM to determine the target fuse bit number.</p>
<dl class="section note"><dt>Note</dt><dd>An attempt to read an eFuse data from a protected memory region will generate a HardFault.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">bitNum</td><td>The number of the bit to read. The valid range of the bit number is from 0 to EFUSE_EFUSE_NR * 32 * 8 - 1 where:<ul>
<li>EFUSE_EFUSE_NR is number of efuse macros in the selected device series,</li>
<li>32 is a number of fuse bytes in one efuse macro,</li>
<li>8 is a number of fuse bits in the byte.</li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<p>The EFUSE_EFUSE_NR macro is defined in the series-specific header file, e.g <em>&lt;PDL_DIR&gt;/devices/include/psoc6_01_config</em>.<em>h</em> </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">bitVal</td><td>The pointer to the location to store the bit value.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a></dd></dl>
<dl class="section note"><dt>Note</dt><dd>Supported in CAT1A and CAT1C devices.</dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd>The example below shows how to read device life-cycle register bits in PSoC 6: <div class="fragment"><div class="line">    uint32_t offset = offsetof(<a class="code" href="structcy__stc__efuse__data__t.html">cy_stc_efuse_data_t</a>, LIFECYCLE_STAGE.SECURE);</div><div class="line">    <span class="keywordtype">bool</span> bitVal;</div><div class="line">    </div><div class="line">    (void) <a class="code" href="group__group__efuse__functions.html#ga2dc80ca522388529fe573f5c46694f2f">Cy_EFUSE_GetEfuseBit</a>(offset, &amp;bitVal);</div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga975d7896953da9ad0c2543f481cbfcc6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga975d7896953da9ad0c2543f481cbfcc6">&#9670;&nbsp;</a></span>Cy_EFUSE_GetEfuseByte()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a> Cy_EFUSE_GetEfuseByte </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>byteVal</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reports the current state of the eFuse byte. </p>
<p>If the offset parameter is beyond the available quantities, zeroes will be stored to the byteVal parameter. Consult the device TRM to determine the target fuse byte offset.</p>
<dl class="section note"><dt>Note</dt><dd>An attempt to read an eFuse data from a protected memory region will generate a HardFault.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">offset</td><td>The offset of the byte to read. The valid range of the byte offset is from 0 to EFUSE_EFUSE_NR * 32 - 1 where:<ul>
<li>EFUSE_EFUSE_NR is a number of efuse macros in the selected device series,</li>
<li>32 is a number of fuse bytes in one efuse macro.</li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<p>The EFUSE_EFUSE_NR macro is defined in the series-specific header file, e.g <em>&lt;PDL_DIR&gt;/devices/include/psoc6_01_config</em>.<em>h</em> </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">byteVal</td><td>The pointer to the location to store eFuse data.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a></dd></dl>
<dl class="section note"><dt>Note</dt><dd>Supported in CAT1A and CAT1C devices.</dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd>The example below shows how to read a device life-cycle stage register in PSoC 6: <div class="fragment"><div class="line">    <span class="comment">/* Determine the offset of the byte to read. Divide by 8 since the one byte in</span></div><div class="line"><span class="comment">    * cy_stc_efuse_data_t struct corresponds to the one bit in the eFuse memory.</span></div><div class="line"><span class="comment">    */</span></div><div class="line">    uint32_t offset = offsetof(<a class="code" href="structcy__stc__efuse__data__t.html">cy_stc_efuse_data_t</a>, LIFECYCLE_STAGE.NORMAL) / <a class="code" href="group__group__efuse__macros.html#ga34bda47f01021424e981b32de0d8a7f6">CY_EFUSE_BITS_PER_BYTE</a>;</div><div class="line">    uint8_t byteVal;</div><div class="line">    </div><div class="line">    (void) <a class="code" href="group__group__efuse__functions.html#ga975d7896953da9ad0c2543f481cbfcc6">Cy_EFUSE_GetEfuseByte</a>(offset, &amp;byteVal);</div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga19b1ee83f64f5405681b37266941c3e5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga19b1ee83f64f5405681b37266941c3e5">&#9670;&nbsp;</a></span>Cy_EFUSE_GetExternalStatus()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t Cy_EFUSE_GetExternalStatus </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function handles the case where a module such as a security image captures a system call from this driver and reports its own status or error code, for example, protection violation. </p>
<p>In that case, a function from this driver returns an unknown error (see <a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a>). After receipt of an unknown error, the user may call this function to get the status of the capturing module.</p>
<p>The user is responsible for parsing the content of the returned value and casting it to the appropriate enumeration.</p>
<dl class="section return"><dt>Returns</dt><dd>The error code of the previous efuse operation.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Supported in CAT1A and CAT1C devices. </dd></dl>

</div>
</div>
<a id="ga06a4ae2e9113c195ff77f1dc820b25e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga06a4ae2e9113c195ff77f1dc820b25e7">&#9670;&nbsp;</a></span>Cy_EFUSE_Init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a> Cy_EFUSE_Init </td>
          <td>(</td>
          <td class="paramtype">EFUSE_Type *&#160;</td>
          <td class="paramname"><em>base</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function enables the EFUSE block and initializes the registers with the default values. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the EFUSE instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The EFUSE API status <a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a>.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Supported in CAT1B devices. </dd></dl>

</div>
</div>
<a id="ga4c007af8fdfc8f7179abad616e88cae2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4c007af8fdfc8f7179abad616e88cae2">&#9670;&nbsp;</a></span>Cy_EFUSE_Enable()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cy_EFUSE_Enable </td>
          <td>(</td>
          <td class="paramtype">EFUSE_Type *&#160;</td>
          <td class="paramname"><em>base</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enables the EFUSE block. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the EFUSE instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Supported in CAT1B devices. </dd></dl>

</div>
</div>
<a id="ga0aa04dbc5db609a8cc641c45c3cd79e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0aa04dbc5db609a8cc641c45c3cd79e7">&#9670;&nbsp;</a></span>Cy_EFUSE_Disable()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cy_EFUSE_Disable </td>
          <td>(</td>
          <td class="paramtype">EFUSE_Type *&#160;</td>
          <td class="paramname"><em>base</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Disables the EFUSE block. </p>
<p>All non-retention registers (command and status registers) are reset to their default values when the IP is disabled.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the EFUSE instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Supported in CAT1B devices. </dd></dl>

</div>
</div>
<a id="ga5dae8f5e5f2a463363c4dfcc5af57b28"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5dae8f5e5f2a463363c4dfcc5af57b28">&#9670;&nbsp;</a></span>Cy_EFUSE_IsEnabled()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Cy_EFUSE_IsEnabled </td>
          <td>(</td>
          <td class="paramtype">EFUSE_Type *&#160;</td>
          <td class="paramname"><em>base</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Check if EFUSE block is Enabled or Not. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the EFUSE instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>True if the EFUSE is enabled.</li>
<li>False if EFUSE is disabled.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Supported in CAT1B devices. </dd></dl>

</div>
</div>
<a id="ga28ecc1dcdb968e053a958cca635e9461"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga28ecc1dcdb968e053a958cca635e9461">&#9670;&nbsp;</a></span>Cy_EFUSE_DeInit()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cy_EFUSE_DeInit </td>
          <td>(</td>
          <td class="paramtype">EFUSE_Type *&#160;</td>
          <td class="paramname"><em>base</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Disables the EFUSE block. </p>
<p>All non-retention registers (command and status registers) are reset to their default values when the IP is disabled.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the EFUSE instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Supported in CAT1B devices. </dd></dl>

</div>
</div>
<a id="ga0dd2f9a26afa1c75420318c09a7f53fb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0dd2f9a26afa1c75420318c09a7f53fb">&#9670;&nbsp;</a></span>Cy_EFUSE_WriteBit()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a> Cy_EFUSE_WriteBit </td>
          <td>(</td>
          <td class="paramtype">EFUSE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>bitPos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>offset</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Writes a bit to EFUSE by blowing a fuse, so this function is able to write 1s only. </p>
<p>Before write operations you must call <a class="el" href="group__group__efuse__functions.html#ga06a4ae2e9113c195ff77f1dc820b25e7">Cy_EFUSE_Init()</a>. It is recommended to disable the block when not using it. Call <a class="el" href="group__group__efuse__functions.html#ga0aa04dbc5db609a8cc641c45c3cd79e7">Cy_EFUSE_Disable()</a> to disable the EFUSE block.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the EFUSE instance.</td></tr>
    <tr><td class="paramname">bitPos</td><td>Bit position within byte.</td></tr>
    <tr><td class="paramname">offset</td><td>Byte position within EFUSE address space.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The EFUSE API status <a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a>.</dd></dl>
<dl class="section note"><dt>Note</dt><dd><ul>
<li>The caller is expected to verify the input parameters for correctness and to check whether the bit is already blown before calling this function to not over-program bits.</li>
<li>Supported in CAT1B devices. </li>
</ul>
</dd></dl>

</div>
</div>
<a id="ga52ffd7cf26fba5e7786187b8627665b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga52ffd7cf26fba5e7786187b8627665b9">&#9670;&nbsp;</a></span>Cy_EFUSE_WriteByte()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a> Cy_EFUSE_WriteByte </td>
          <td>(</td>
          <td class="paramtype">EFUSE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>offset</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Writes one byte. </p>
<p>Before write operations you must call <a class="el" href="group__group__efuse__functions.html#ga06a4ae2e9113c195ff77f1dc820b25e7">Cy_EFUSE_Init()</a>. It is recommended to disable the block when not using it. Call <a class="el" href="group__group__efuse__functions.html#ga0aa04dbc5db609a8cc641c45c3cd79e7">Cy_EFUSE_Disable()</a> to disable the EFUSE block.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the EFUSE instance.</td></tr>
    <tr><td class="paramname">src</td><td>Value to be written.</td></tr>
    <tr><td class="paramname">offset</td><td>Byte offset from the EFUSE base address</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The EFUSE API status <a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a>.</dd></dl>
<dl class="section note"><dt>Note</dt><dd><ul>
<li>The caller is expected to check whether the bits within the byte are already blown before calling this function to not over-program bits.</li>
<li>Supported in CAT1B devices. </li>
</ul>
</dd></dl>

</div>
</div>
<a id="ga15f9240bfa808040e6104c864c57e2c7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga15f9240bfa808040e6104c864c57e2c7">&#9670;&nbsp;</a></span>Cy_EFUSE_WriteWord()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a> Cy_EFUSE_WriteWord </td>
          <td>(</td>
          <td class="paramtype">EFUSE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>offset</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Writes every bit set in src that was not already programmed. </p>
<p>Before write operations you must call <a class="el" href="group__group__efuse__functions.html#ga06a4ae2e9113c195ff77f1dc820b25e7">Cy_EFUSE_Init()</a>. It is recommended to disable the block when not using it. Call <a class="el" href="group__group__efuse__functions.html#ga0aa04dbc5db609a8cc641c45c3cd79e7">Cy_EFUSE_Disable()</a> to disable the EFUSE block.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the EFUSE instance.</td></tr>
    <tr><td class="paramname">src</td><td>Value to be written.</td></tr>
    <tr><td class="paramname">offset</td><td>Offset from the EFUSE base address. Must be 4-byte aligned.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The EFUSE API status <a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a>.</dd></dl>
<dl class="section note"><dt>Note</dt><dd><ul>
<li>The caller is expected to check whether the bits within the 32-bit word are already blown before calling this function to not over-program bits.</li>
<li>Supported in CAT1B devices. </li>
</ul>
</dd></dl>

</div>
</div>
<a id="ga8d99433f456f0504334af8ab56e3cc91"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8d99433f456f0504334af8ab56e3cc91">&#9670;&nbsp;</a></span>Cy_EFUSE_WriteWordArray()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a> Cy_EFUSE_WriteWordArray </td>
          <td>(</td>
          <td class="paramtype">EFUSE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const uint32_t *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>num</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Writes the values of num 32-bit words from the location pointed to by src to the EFUSE location pointed to by offset. </p>
<p>Before write operations you must call <a class="el" href="group__group__efuse__functions.html#ga06a4ae2e9113c195ff77f1dc820b25e7">Cy_EFUSE_Init()</a>. It is recommended to disable the block when not using it. Call <a class="el" href="group__group__efuse__functions.html#ga0aa04dbc5db609a8cc641c45c3cd79e7">Cy_EFUSE_Disable()</a> to disable the EFUSE block.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the EFUSE instance.</td></tr>
    <tr><td class="paramname">src</td><td>Pointer to the source of data to be written.</td></tr>
    <tr><td class="paramname">offset</td><td>Offset from the EFUSE base address. Must be 4-byte aligned.</td></tr>
    <tr><td class="paramname">num</td><td>Number of 32-bit words to be written.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The EFUSE API status <a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a>.</dd></dl>
<dl class="section note"><dt>Note</dt><dd><ul>
<li>The caller is expected to check whether the bits within the 32-bit words are already blown before calling this function to not over-program bits.</li>
<li>Supported in CAT1B devices. </li>
</ul>
</dd></dl>

</div>
</div>
<a id="ga4574fafa0f4533914834b12546575690"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4574fafa0f4533914834b12546575690">&#9670;&nbsp;</a></span>Cy_EFUSE_ReadBit()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a> Cy_EFUSE_ReadBit </td>
          <td>(</td>
          <td class="paramtype">EFUSE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>bitPos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>offset</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads a bit from EFUSE. </p>
<p>Before read operations you must call <a class="el" href="group__group__efuse__functions.html#ga06a4ae2e9113c195ff77f1dc820b25e7">Cy_EFUSE_Init()</a>. It is recommended to disable the block when not using it. Call <a class="el" href="group__group__efuse__functions.html#ga0aa04dbc5db609a8cc641c45c3cd79e7">Cy_EFUSE_Disable()</a> to disable the EFUSE block.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the EFUSE instance.</td></tr>
    <tr><td class="paramname">dst</td><td>Pointer to the destination where the read bit is stored.</td></tr>
    <tr><td class="paramname">bitPos</td><td>Bit position within byte.</td></tr>
    <tr><td class="paramname">offset</td><td>Byte offset from the EFUSE base address.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The EFUSE API status <a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a>.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Supported in CAT1B devices. </dd></dl>

</div>
</div>
<a id="ga6484736ef7054535e2b22dab58a9d704"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6484736ef7054535e2b22dab58a9d704">&#9670;&nbsp;</a></span>Cy_EFUSE_ReadByte()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a> Cy_EFUSE_ReadByte </td>
          <td>(</td>
          <td class="paramtype">EFUSE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>offset</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads byte from EFUSE. </p>
<p>Before read operations you must call <a class="el" href="group__group__efuse__functions.html#ga06a4ae2e9113c195ff77f1dc820b25e7">Cy_EFUSE_Init()</a>. It is recommended to disable the block when not using it. Call <a class="el" href="group__group__efuse__functions.html#ga0aa04dbc5db609a8cc641c45c3cd79e7">Cy_EFUSE_Disable()</a> to disable the EFUSE block.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the EFUSE instance.</td></tr>
    <tr><td class="paramname">dst</td><td>Pointer to the destination where the read byte is stored.</td></tr>
    <tr><td class="paramname">offset</td><td>Byte offset from the EFUSE base address.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The EFUSE API status <a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a>.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Supported in CAT1B devices. </dd></dl>

</div>
</div>
<a id="gaebe9c2648cd8b31bdb5721c802b4b4b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaebe9c2648cd8b31bdb5721c802b4b4b3">&#9670;&nbsp;</a></span>Cy_EFUSE_ReadWord()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a> Cy_EFUSE_ReadWord </td>
          <td>(</td>
          <td class="paramtype">EFUSE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>offset</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads a 32-bit word from EFUSE. </p>
<p>Before read operations you must call <a class="el" href="group__group__efuse__functions.html#ga06a4ae2e9113c195ff77f1dc820b25e7">Cy_EFUSE_Init()</a>. It is recommended to disable the block when not using it. Call <a class="el" href="group__group__efuse__functions.html#ga0aa04dbc5db609a8cc641c45c3cd79e7">Cy_EFUSE_Disable()</a> to disable the EFUSE block.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the EFUSE instance.</td></tr>
    <tr><td class="paramname">dst</td><td>Pointer to the destination where the read word is stored.</td></tr>
    <tr><td class="paramname">offset</td><td>Offset from the EFUSE base address. Must be 4-byte aligned.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The EFUSE API status <a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a>.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Supported in CAT1B devices. </dd></dl>

</div>
</div>
<a id="gac5f241d89e5dd02359c5e1f5718b8c96"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac5f241d89e5dd02359c5e1f5718b8c96">&#9670;&nbsp;</a></span>Cy_EFUSE_ReadWordArray()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a> Cy_EFUSE_ReadWordArray </td>
          <td>(</td>
          <td class="paramtype">EFUSE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>num</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads an array of 32-bit words from EFUSE. </p>
<p>Before read operations you must call <a class="el" href="group__group__efuse__functions.html#ga06a4ae2e9113c195ff77f1dc820b25e7">Cy_EFUSE_Init()</a>. It is recommended to disable the block when not using it. Call <a class="el" href="group__group__efuse__functions.html#ga0aa04dbc5db609a8cc641c45c3cd79e7">Cy_EFUSE_Disable()</a> to disable the EFUSE block.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the EFUSE instance.</td></tr>
    <tr><td class="paramname">dst</td><td>Pointer to the destination array where the content is to be read.</td></tr>
    <tr><td class="paramname">offset</td><td>Start address of the data to read in EFUSE.</td></tr>
    <tr><td class="paramname">num</td><td>Number of words to read.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The EFUSE API status <a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a>.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Supported in CAT1B devices. </dd></dl>

</div>
</div>
<a id="gac5cbe37853fb807ac5d273e6c64c245a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac5cbe37853fb807ac5d273e6c64c245a">&#9670;&nbsp;</a></span>Cy_EFUSE_WriteBootRow()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a> Cy_EFUSE_WriteBootRow </td>
          <td>(</td>
          <td class="paramtype">EFUSE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>bootrow</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Writes data into BOOTROW. </p>
<p>Before write operations you must call <a class="el" href="group__group__efuse__functions.html#ga06a4ae2e9113c195ff77f1dc820b25e7">Cy_EFUSE_Init()</a>. It is recommended to disable the block when not using it. Call <a class="el" href="group__group__efuse__functions.html#ga0aa04dbc5db609a8cc641c45c3cd79e7">Cy_EFUSE_Disable()</a> to disable the EFUSE block.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the EFUSE instance.</td></tr>
    <tr><td class="paramname">bootrow</td><td>32-bit value to be written into bootrow.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The EFUSE API status <a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a>.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Supported in CAT1B devices. </dd></dl>

</div>
</div>
<a id="ga02f92f6205a852095d903d1d66e54a23"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga02f92f6205a852095d903d1d66e54a23">&#9670;&nbsp;</a></span>Cy_EFUSE_ReadBootRow()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a> Cy_EFUSE_ReadBootRow </td>
          <td>(</td>
          <td class="paramtype">EFUSE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>bootrow</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads data from BOOTROW. </p>
<p>The BOOTROW information is latched upon system reset and is readable as MMIO register.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the EFUSE instance.</td></tr>
    <tr><td class="paramname">bootrow</td><td>Pointer to the variable where the content of BOOTROW is read to.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The EFUSE API status <a class="el" href="group__group__efuse__enumerated__types.html#gad6c57e8e4b9500208ff1f6d27f6055b0">cy_en_efuse_status_t</a>.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Supported in CAT1B devices. </dd></dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part
<div id="nav-path" class="navpath">
    <ul>
        <li class="footer">
            Generated for <b>MTB CAT1 Peripheral driver library</b> by <b>Cypress Semiconductor Corporation</b>.
            All rights reserved.
        </li>
    </ul>
</div>
-->
</body>
</html>
